<?php


namespace app\admin\controller;

use app\admin\library\Crud;
use support\controller\Base;
use support\Validator;
use support\View;

class BaseController extends Base
{
    use Crud;

    /**
     * @var string 当前控制器模型类名称
     */
    protected $model = '';

    /**
     * @var string 视图前缀
     */
    protected $preViewName = '';

    // 未登录 访问了需要登录的路由(如访问后台控制台) 重定向跳转地址
    public $noLoginRedirectUrl = '/admin/login/index';

    // 已登录 访问了不需要登录的路由(如访问登录页面) 重定向地址
    public $loginedRedirectUrl = '/admin/index/index';

    protected function assign($name, $value = null)
    {
        View::assign($name, $value);
    }

    protected function view($name = '', $data = [])
    {
        if ($name == '') {
            $name = request()->action;
        }
        return view($this->preViewName . '/' . $name, $data);
    }

    protected function validate($data, $rule, $msg = [], $attr = [])
    {
        return Validator::getInstance()->validate($data, $rule, $msg, $attr);
    }
}
